package com.neu.question.mapper;

import com.neu.question.domain.UserRootInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
* @author DELL
* @description 针对表【user_root_info】的数据库操作Mapper
* @createDate 2022-10-31 19:09:11
* @Entity com.neu.question.domain.UserRootInfo
*/
@Mapper
public interface UserRootInfoMapper extends BaseMapper<UserRootInfo> {

    /**
     * 角色查询
     *
     * @return
     */
    List<Map<String, Object>> queryRoleInfo();

    /**
     * 添加角色
     *
     * @param map
     * @return
     */
    int addRoleInfo(Map<String, Object> map);


    /**
     * 角色状态
     *
     * @param map
     * @return
     */
    int modifyRoleStatus(Map<String, Object> map);

    /**
     * 查询全部角色信息
     *
     * @param map
     * @return
     */
    List<Map<String, Object>> queryAllRoleInfo(Map<String, Object> map);

    /**
     * 获取用户角色
     *
     * @param roleId
     * @return
     */
    List<UserRootInfo> findRoleById(String roleId);

    /**
     * 获取用户角色
     *
     * @param s
     * @return
     */
    String findRoleInfoById(String s);

    /**
     * 根据角色查询等级
     *
     * @param roleId
     */
    Map<String, Object> queryRoleNumInfo(String roleId);

    /**
     * 查询在此角色等级下的角色
     *
     * @param num
     * @return
     */
    List<String> queryAllRoleInfoByNum(String num);

    /**
     * 查找所有的角色的等级
     *
     * @return
     */
    List<String> queryRoleNumAll();


    /**
     * 查询角色的权限list
     *
     * @param map
     * @return
     */
    String queryRolePermissionList(Map<String, Object> map);


    /**
     * 为角色添加权限list
     *
     * @param map
     * @return
     */
    int modifyRolePermissionList(Map<String, Object> map);

    /**
     * 删除角色
     *
     * @param map
     * @return
     */
    int deleteRoleInfo(Map<String, Object> map);

    /**
     * 修改角色信息
     *
     * @param map
     * @return
     */
    int modifyRoleInfo(Map<String, Object> map);

    /**
     * 删除权限
     *
     * @param map
     * @return
     */
    int deletePermission(Map<String, Object> map);

    /**
     * 根据角色的名字查找角色名是否存在
     *
     * @param map
     * @return
     */
    int queryRoleNameIsExit(Map<String, Object> map);

    /**
     * 更新admin的list数值
     *
     * @param strList
     * @return
     */
    int modifyRoleParamList(@Param("createdBy") String strList);

    /**
     * 查询所有包含permission的角色
     *
     * @param map
     * @return
     */
    List<Map<String, Object>> queryAllRolePermissionList(Map<String, Object> map);

    /**
     * 批量修改createdBy数据
     *
     * @param map
     * @return
     */
    int modifyRolePermissionListById(Map<String, Object> map);
}




